package cn.com.dcsgo.dto;

import cn.com.dcsgo.validation.NotBlankIfNotNull;
import cn.com.dcsgo.validation.ValueOf;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 修改主页轮播图请求参数
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "添加主页轮播图请求参数")
public class IndexImgUpdateDTO {
    /**
     * 轮播图ID
     */
    @NotNull(message = "轮播图ID不能为空")
    @Schema(description = "轮播图ID")
    private Long imgId;

    /**
     * 图片地址
     */
    @Schema(description = "图片地址")
    @NotBlankIfNotNull(message = "图片地址不能为空白字符串")
    private String imgUrl;

    /**
     * 链接地址
     */
    @Schema(description = "链接地址")
    @NotBlankIfNotNull(message = "链接地址不能为空白字符串")
    private String link;

    /**
     * 状态（1：正常，0：禁用）
     */
    @Schema(description = "状态（1：正常，0：禁用）")
    @ValueOf(value = {"1", "0"}, message = "状态只能为1：正常，0：禁用")
    private Integer status;

    /**
     * 排序数，降序排序
     */
    @Schema(description = "排序数，降序排序")
    private Integer seq;

    /**
     * 关联商品ID
     */
    @Schema(description = "关联商品ID")
    private Long prodId;
}
